using UnityEngine;

public class Cannon : MonoBehaviour
{
	[SerializeField]
	private Transform gunPoint;

	[SerializeField]
	private CannonBall cannonBallPrefab;

	[SerializeField]
	private float chargeTime;

	[SerializeField]
	private float reloadTime;

	[SerializeField]
	private float initialFireTimer;

	[SerializeField]
	private float initialSpeed;

	[SerializeField]
	private int aimingStepCount;

	[SerializeField]
	private float recoil;

	private CannonBall charging;

	private float fireTimer;

	private Enemy owner;

	public Vector3 Forward => default(Vector3);

	public bool Valid => false;

	public bool Charged => false;

	public float Recoil => 0f;

	public void ManualStart(Enemy owner)
	{
	}

	public bool TryFire()
	{
		return false;
	}

	public void ManualFixedUpdate(float deltaTime)
	{
	}

	public void OnHolderDamaged()
	{
	}

	public void OnHolderDestroyed()
	{
	}

	public Vector3 CalcError(Vector3 targetPosition, Vector3 gunBodyVelocity, Vector3 gunForward)
	{
		return default(Vector3);
	}

	private static Vector3 ComputeMissDistance(Vector3 position, Vector3 velocity, Vector3 targetPosition, int stepCount, Vector3 gravity, float airDrag)
	{
		return default(Vector3);
	}
}
